[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
     [  -> open  parenthesis (same as ()  (also in 1.00)
     {  -> open  parenthesis (same as ()  (also in 1.00)
     ]  -> close parenthesis (same as ))  (also in 1.00)
     }  -> close parenthesis (same as ))  (also in 1.00)

     == ->            equal  (same as =)  (also in 1.00)
     != -> not        equal  (same as <>) (also in 1.00)
     >< -> not        equal  (same as <>) (also in 1.00)
     =< -> less    or equal  (same as <=) (also in 1.00)
     => -> greater or equal  (same as >=) (also in 1.00)

     && -> logical and       (same as &)  (also in 1.00)
     || -> logical or        (same as |)  (also in 1.00)

     ** -> exponentiation    (same as )

 - A double quote ("") may be embedded within a string constant to tell
     the compiler that a single literal quote is desired (in other
     words, "THIS""IS""A""TEST" would evaluate to THIS"IS"A"TEST after
     the leading and trailing quotes are removed and the double quotes
     were folded to single quotes)

 - Labels and variable names may now include the following characters in
     addition to A-Z, 0-9, and the _ (underscore) character: $ (dollar
     sign), @ (commercial at), # (pound sign), . (cents), . (british
     pound), . (japanese yen)

 - A \ (backslash) character as the last character on a line (before any
     comments) will now allow continuing a logical line from one to the
     next physical line

 - A : (colon) character may be used to separate multiple logical lines
     on a single physical line

 - PPLC 1.00 would assume a LET statement if LET was not explicitly specified
   in the following cases:

    1. The variable name did not match a reserved keyword

    2. The variable name was followed immediately (no space) by an equal
       sign (=)

   Now the equal sign need not be flush against the variable.  In other
   words, where "DIR = value" would not work before (because "DIR " is
   a reserved keyword), it will work now (because the = before the
   value will implicitly indicate a LET statement to the compiler).

 - The following function(s) now take and return BIGSTRs instead of STRINGs:

     REPLACE   STRIP   STRIPATX   LTRIM   RTRIM   TRIM
     LOWER     UPPER   MID        LEFT    RIGHT

 - The following function(s) now take BIGSTRs instead of STRINGs:

     LEN       INSTR

 - The following function(s) now return BIGSTRs instead of STRINGs:

     SPACE     CHR

 - Added international currency and time support to PPL (based on the current
   users language selection)

 - The FPUTPAD statement was misdocumented; it does not automatically write
   a carriage return / line feed pair; if one is needed it must be written
   with an FPUTLN statement

 - Added a command line switch (/NOUVAR) to PPLC to disable the automatic
   generation of user variables

 - A /DISARR switch was added to PPLC to disable array dimension
   checking.  This allows a different number of subscripts to be
   passed to array references without compiler errors or warnings.
   Additionally it allows the REDIM statement to change the number of
   subscripts used by a variable.  In other words, code like this
   would be legal with the /DISARR command line switch:

   STRING s      ' Note no subscripts
   REDIM s,5,5,5 ' Now it has subscripts
   LET s(4,4,4) = "Hello, World!"
   PRINTLN s(4,4,4)

   STRING s(1,1,1) ' Note three subscripts
   REDIM s,5,5     ' Now it has two subscripts
   LET s(4,4) = "Hello, World!"
   PRINTLN s(4,4)

 - A comment may now be started by an asterisk (*) if it is the first
   non-whitespace character on a line.

 - Source files can now be included from other source files.  This is
   accomplished with a compiler directive in a comment like this:

    ;$INCLUDE:FILESPEC.EXT

   (Note that the first character need not be the semi-colon.  An
    apostrophe ['] or asterisk [*] may also be used where appropriate.)

   This allows you to include subroutines from a source code 'library'.
   This should help in starting reusable code fragments.  When the
   file is included, it is compiled as though it were in the main
   source file. For example:

    FOO.INC
    -------
    :subroutine
    PRINTLN "Hello!"
    RETURN

    FOO.PPS
    -------
    PRINTLN "Running FOO.PPS"
    GOSUB subroutine
    END ' This line is important!
    *$INCLUDE:FOO.INC

   Note the use of END in FOO.PPS.  It is important in this case to
   ensure that you don't accidentally run subroutine twice by just
   falling through to it.

 - Added the file name to warning and error displays.  For example,
   where the following error may have once been reported:

    Error in line number 123

   You will now get:

    Error in file FOO.PPS, line 123

   This is necessary for the new file include functionality.

 - Fixed a bug with the MAXNODE function where 2 would always be returned
   regardless of the actual licensed copy in use

 - Fixed a bug with channel processing for the FPUTPAD statement which would
   cause the statement to fail

 - Fixed a bug in array subscript processing that has existed since version
   1.00.  The problem would occur only in multi-dimensional arrays and only if
   an attempt was made to access the minimum and maximum column subscripts (0
   and whatever was defined in the source code); a value written to one would
   overwrite the other.

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson